1. Field of the Invention
The present invention relates to a screen transfer apparatus and a method thereof, and a program storage medium storing a program for performing the method.
2. Related Art
Screen transfer systems that compress time-varying screen contents of a personal computer and transmit the compressed screen contents in real time use a reversible data compression or irreversible data compression algorithm to compress image data.
One of frequently used reversible data compression algorithms is an LZ77 method (slide dictionary method) (see Jacob Ziv and Abraham Lempel, “A Universal Algorithm for Sequential Data Compression”, IEEE Transactions on Information Theory, Vol. IT-23, No. 3, PP. 337-343, May 1977).
The LZ77 method uses a certain amount of most recently encoded or decoded data as dictionary data when carrying out compression (encoding) and expansion (decoding) processing.
In order to increase the hit rate of a dictionary to obtain a high compressibility, it is necessary to continuously provide data having a possibility that identical character strings may appear repeatedly as input data. On the contrary, the compressibility decreases when pieces of data from sources unrelated to one another are arranged alternately and encoded.
Therefore, when both the transmitting side and receiving side of a communication path attempt to reduce the amount of transmission/reception data using a data compression technique as in the case of a screen transfer system, if there are a plurality of data sources of different characteristics, a high compressibility is more likely to be obtained by assigning dedicated dictionaries to respective pieces of data from all sources, compressing the data separately and multiplexing the compressed data rather than compressing the respective pieces of data using the same dictionary.
Thinking of image data displayed on a personal computer screen handled by the screen transfer system here, when only some narrow areas in the screen area is viewed, it is often the case that all of image data of the narrow areas may be part of the same graphics and the all of the image data are similar contents. However, when the entire screen is viewed, images of different natures such as characters and graphics are displayed in different areas, and therefore an optimum compressibility may not be obtained using the method of compressing image data of any area on the screen using a single dictionary. Therefore, there is a demand for a method of transmitting image data to be displayed on the screen at a high compressibility. Furthermore, it is also necessary not to reduce visibility of the user in this case. For example, when screen contents of a PC (Personal Computer) are written horizontally, if updated screen contents are drawn in the horizontal direction a plurality of times at a large time interval, there can be a problem that it is difficult to understand screen contents in the middle of drawing.